/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Clases;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author Victor
 */
public class MFecha {
    
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
    
    private String diastr = null;
    private String messtr = null; 
    private String anostr = null;

    
    public MFecha() {
    }
    
    public String Formatear(Date fecha){
        return dateFormat.format(fecha);
    }
    
    public Date Formatear(String fecha){
        SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 
        Date date=null;
        try {
            date = formatter.parse(fecha);
        } catch (ParseException ex) {
            
        }
        return date;
    }
        
     public String getfechaactual(){
        Date date = new Date();
        String fecha=null;
        int dia = date.getDate();
        int mes = date.getMonth();
        mes++;
        int ano = date.getYear();
        if(dia<10){
            diastr = "0"+dia;
        } 
        else{
            diastr = dia+"";
        }
        if(mes<10){
            messtr = "0"+mes;
        }
        else{
            messtr = mes+"";
        }
       
        String ano1 = ano+"";
        String ano2 = ano1.substring(1, 3);
        anostr = "20"+ano2;
        fecha = diastr+"/"+messtr+"/"+anostr;
        return fecha;
    }
     
    public String getfechaactualparabackup(){
        Date date = new Date();
        String fecha=null;
        int dia = date.getDate();
        int mes = date.getMonth();
        mes++;
        int ano = date.getYear();
        if(dia<10){
            diastr = "0"+dia;
        } 
        else{
            diastr = dia+"";
        }
        if(mes<10){
            messtr = "0"+mes;
        }
        else{
            messtr = mes+"";
        }
        String ano1 = ano+"";
        String ano2 = ano1.substring(1, 3);
        anostr = "20"+ano2;
        fecha = diastr+"-"+messtr+"-"+anostr;
        return fecha;
    }
     
    public String invertirleer(String fecha){
        String fech = "";
        String day = fecha.substring(8, 10);
        String month = fecha.substring(5,7);
        String year = fecha.substring(0,4);
        fech = day+"/"+month+"/"+year;
        return fech;
    }
    
    public String invertirguardar(String fecha){
        String fech = "";
        String day = fecha.substring(0, 2);
        String month = fecha.substring(3,5);
        String year = fecha.substring(6,10);
        fech = year+"/"+month+"/"+day;
        return fech;
    }
    
    public String getyear(){
        return anostr;
    }
    
    public String getmonth(){
        return messtr;
    }
    
    public String getday(){
        return diastr;
    }
    
    public boolean CorroborarFecha(String fecha){
    
        boolean paso = false;
        if (fecha.length()==10){
            String dias = fecha.substring(0,2);
            String mess = fecha.substring(3,5);
            String anos = fecha.substring(6,10);
            int Dia = Integer.parseInt(dias);
            int Mes = Integer.parseInt(mess);

            if (anos.length()==4){
                if (Mes==1 || Mes==3 || Mes==5 || Mes==07 || Mes==9 || Mes==11) {  
                    if (Dia >0 && Dia < 32  ) {
                        paso=true;  
                    }
                }        
                if (Mes==4 || Mes==6 || Mes==8 || Mes==10 || Mes==12) {  
                    if (Dia >0 && Dia < 32  ) {
                        paso=true;  
                    }
                }
                if (Mes==2) {  
                    if (Dia >0 && Dia < 30 ) {
                        paso=true;  
                    }
                }
            } 
        
        }
        
        System.out.println("Fecha Corroborada: "+paso);
        return paso;
    }
    
    public java.util.Date UtilDate(String Fechasql){
        java.util.Date Date = new java.util.Date();
        String days = Fechasql.substring(8, 10);
        String months = Fechasql.substring(5, 7);
        String years = Fechasql.substring(0, 4);        
        int month = Integer.parseInt(months);
        month--;
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy");
        String fecha = days+"/"+month+"/"+years;
        
        try {
            Date = dateFormat.parse(fecha);
            Date.setMonth(month);           
        } catch (ParseException ex) {
           Logger.getLogger(MFecha.class.getName()).log(Level.SEVERE, null, ex);
        }       
        return Date;
    }
    
    public boolean CorroborarFechaEnMask(String stringFecha){
        SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");        
        try {            
            java.util.Date date = formatter.parse(stringFecha);             
            return true;
        } catch (ParseException ex) {             
            return false;
        }         
    }
    
}
